Git LFS大文件
什么是git lfs
Git LFS(Large File Storage),用以帮助git管理比较大的文件。git的diff等是基于文件。对于二进制文件来说,git需要存储每次提交的变动。git fls对于追踪的文件只会保存一个指向其的指针。不会在本地仓库保存你每次提交的所有版本。对于历史提交版本,基本上我们都很少去动,不需要检出。所以这样极大的节省了空间和仓库拉取速度。
核心:把需要进行版本管理、但是占用很大空间的文件独立于Git仓库管理,加快clone仓库速度。
安装
lfs目前是git扩展,没有被加入git核心。所以就需要有个安装的步骤。
注意:安装git lfs需要 git版本>=1.8.2
Mac
- 安装homebrew(安装过的下一步)
1 | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
- brew install git-lfs
- git lfs install
Windows
- 下载安装windows installer
- 运行windows installer
- git lfs install
使用
cd进项目目录
首先git lfs track ”XX“来告诉lfs需要处理哪些文件。
1 | git lfs track "*.a" // 追踪所有后缀为a的文件 |
此命令执行后,会在项目根目录下创建一个名为”.gitattributes“的文件。
1 | cat .gitattributes |
注意:.gitattributes文件是需要加入版本控制的。
1 | git add .gitattributes |
其他
git lfs ls-files
可以显示当前被lfs追踪的文件列表git lfs track
查看现有的文件追踪模式git lfs untrack "*xx.a"
取消git fls对xx.a的追踪管理git lfs version
查看当前所用git lfs版本git lfs pull
如果起之前拉代码时,没有同时获取lfs对象,之后又需要将被lfs追踪的文件时,可执行此命令来拉取